<test>
  <sql>WITH EmployeeHierarchy (EmployeeID, LastName, FirstName, ReportsTo, HierarchyLevel) AS
(
	-- Base case
	SELECT	EmployeeID,
			LastName,
			FirstName,
			ReportsTo,
			1 as HierarchyLevel
	FROM	Employees
	WHERE	ReportsTo IS NULL
	
	UNION ALL
	
	-- Recursive step
	SELECT	e.EmployeeID,
			e.LastName,
			e.FirstName,
			e.ReportsTo,
			eh.HierarchyLevel + 1 AS HierarchyLevel
	FROM	Employees e
				INNER JOIN EmployeeHierarchy eh ON e.ReportsTo = eh.EmployeeID
)
SELECT	*
FROM	EmployeeHierarchy
ORDER	BY HierarchyLevel, LastName, FirstName</sql>
  <expectedResults>
    <NewDataSet>
  <xs:schema id="NewDataSet" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="Table1">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="EmployeeID" type="xs:int" minOccurs="0" />
                <xs:element name="LastName" type="xs:string" minOccurs="0" />
                <xs:element name="FirstName" type="xs:string" minOccurs="0" />
                <xs:element name="ReportsTo" type="xs:int" minOccurs="0" />
                <xs:element name="HierarchyLevel" type="xs:int" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <Table1>
    <EmployeeID>2</EmployeeID>
    <LastName>Fuller</LastName>
    <FirstName>Andrew</FirstName>
    <HierarchyLevel>1</HierarchyLevel>
  </Table1>
  <Table1>
    <EmployeeID>5</EmployeeID>
    <LastName>Buchanan</LastName>
    <FirstName>Steven</FirstName>
    <ReportsTo>2</ReportsTo>
    <HierarchyLevel>2</HierarchyLevel>
  </Table1>
  <Table1>
    <EmployeeID>8</EmployeeID>
    <LastName>Callahan</LastName>
    <FirstName>Laura</FirstName>
    <ReportsTo>2</ReportsTo>
    <HierarchyLevel>2</HierarchyLevel>
  </Table1>
  <Table1>
    <EmployeeID>1</EmployeeID>
    <LastName>Davolio</LastName>
    <FirstName>Nancy</FirstName>
    <ReportsTo>2</ReportsTo>
    <HierarchyLevel>2</HierarchyLevel>
  </Table1>
  <Table1>
    <EmployeeID>3</EmployeeID>
    <LastName>Leverling</LastName>
    <FirstName>Janet</FirstName>
    <ReportsTo>2</ReportsTo>
    <HierarchyLevel>2</HierarchyLevel>
  </Table1>
  <Table1>
    <EmployeeID>4</EmployeeID>
    <LastName>Peacock</LastName>
    <FirstName>Margaret</FirstName>
    <ReportsTo>2</ReportsTo>
    <HierarchyLevel>2</HierarchyLevel>
  </Table1>
  <Table1>
    <EmployeeID>9</EmployeeID>
    <LastName>Dodsworth</LastName>
    <FirstName>Anne</FirstName>
    <ReportsTo>5</ReportsTo>
    <HierarchyLevel>3</HierarchyLevel>
  </Table1>
  <Table1>
    <EmployeeID>7</EmployeeID>
    <LastName>King</LastName>
    <FirstName>Robert</FirstName>
    <ReportsTo>5</ReportsTo>
    <HierarchyLevel>3</HierarchyLevel>
  </Table1>
  <Table1>
    <EmployeeID>6</EmployeeID>
    <LastName>Suyama</LastName>
    <FirstName>Michael</FirstName>
    <ReportsTo>5</ReportsTo>
    <HierarchyLevel>3</HierarchyLevel>
  </Table1>
</NewDataSet>
  </expectedResults>
  <expectedPlan>
    <executionPlan>
      <element operator="Select">
        <properties>
          <property name="Output List.[0]" value="Union1024 AS EmployeeID" />
          <property name="Output List.[0].Column" value="Union1024" />
          <property name="Output List.[0].DataType" value="Int32" />
          <property name="Output List.[0].Output Name" value="EmployeeID" />
          <property name="Output List.[1]" value="Union1025 AS LastName" />
          <property name="Output List.[1].Column" value="Union1025" />
          <property name="Output List.[1].DataType" value="String" />
          <property name="Output List.[1].Output Name" value="LastName" />
          <property name="Output List.[2]" value="Union1026 AS FirstName" />
          <property name="Output List.[2].Column" value="Union1026" />
          <property name="Output List.[2].DataType" value="String" />
          <property name="Output List.[2].Output Name" value="FirstName" />
          <property name="Output List.[3]" value="Union1027 AS ReportsTo" />
          <property name="Output List.[3].Column" value="Union1027" />
          <property name="Output List.[3].DataType" value="Int32" />
          <property name="Output List.[3].Output Name" value="ReportsTo" />
          <property name="Output List.[4]" value="Union1028 AS HierarchyLevel" />
          <property name="Output List.[4].Column" value="Union1028" />
          <property name="Output List.[4].DataType" value="Int32" />
          <property name="Output List.[4].Output Name" value="HierarchyLevel" />
        </properties>
        <input>
          <element operator="Sort">
            <properties>
              <property name="Output List.[0]" value="Union1024" />
              <property name="Output List.[0].Column" value="Union1024" />
              <property name="Output List.[0].DataType" value="Int32" />
              <property name="Output List.[1]" value="Union1025" />
              <property name="Output List.[1].Column" value="Union1025" />
              <property name="Output List.[1].DataType" value="String" />
              <property name="Output List.[2]" value="Union1026" />
              <property name="Output List.[2].Column" value="Union1026" />
              <property name="Output List.[2].DataType" value="String" />
              <property name="Output List.[3]" value="Union1027" />
              <property name="Output List.[3].Column" value="Union1027" />
              <property name="Output List.[3].DataType" value="Int32" />
              <property name="Output List.[4]" value="Union1028" />
              <property name="Output List.[4].Column" value="Union1028" />
              <property name="Output List.[4].DataType" value="Int32" />
              <property name="Statistics.Open Count" value="1" />
              <property name="Statistics.Row Count" value="9" />
              <property name="Statistics.Average Row Count" value="9" />
              <property name="Logical Operator" value="Sort" />
              <property name="Order By.[0]" value="Union1028 ASC" />
              <property name="Order By.[0].Column" value="Union1028" />
              <property name="Order By.[0].DataType" value="Int32" />
              <property name="Order By.[0].Order" value="ASC" />
              <property name="Order By.[1]" value="Union1025 ASC" />
              <property name="Order By.[1].Column" value="Union1025" />
              <property name="Order By.[1].DataType" value="String" />
              <property name="Order By.[1].Order" value="ASC" />
              <property name="Order By.[2]" value="Union1026 ASC" />
              <property name="Order By.[2].Column" value="Union1026" />
              <property name="Order By.[2].DataType" value="String" />
              <property name="Order By.[2].Order" value="ASC" />
            </properties>
            <input>
              <element operator="IndexSpool">
                <properties>
                  <property name="Output List.[0]" value="Union1024" />
                  <property name="Output List.[0].Column" value="Union1024" />
                  <property name="Output List.[0].DataType" value="Int32" />
                  <property name="Output List.[1]" value="Union1025" />
                  <property name="Output List.[1].Column" value="Union1025" />
                  <property name="Output List.[1].DataType" value="String" />
                  <property name="Output List.[2]" value="Union1026" />
                  <property name="Output List.[2].Column" value="Union1026" />
                  <property name="Output List.[2].DataType" value="String" />
                  <property name="Output List.[3]" value="Union1027" />
                  <property name="Output List.[3].Column" value="Union1027" />
                  <property name="Output List.[3].DataType" value="Int32" />
                  <property name="Output List.[4]" value="Union1028" />
                  <property name="Output List.[4].Column" value="Union1028" />
                  <property name="Output List.[4].DataType" value="Int32" />
                  <property name="Statistics.Open Count" value="1" />
                  <property name="Statistics.Row Count" value="9" />
                  <property name="Statistics.Average Row Count" value="9" />
                  <property name="Logical Operator" value="Lazy Spool" />
                  <property name="With Stack" value="True" />
                </properties>
                <input>
                  <element operator="Concatenation">
                    <properties>
                      <property name="Output List.[0]" value="Union1023" />
                      <property name="Output List.[0].Column" value="Union1023" />
                      <property name="Output List.[0].DataType" value="Int32" />
                      <property name="Output List.[1]" value="Union1024" />
                      <property name="Output List.[1].Column" value="Union1024" />
                      <property name="Output List.[1].DataType" value="Int32" />
                      <property name="Output List.[2]" value="Union1025" />
                      <property name="Output List.[2].Column" value="Union1025" />
                      <property name="Output List.[2].DataType" value="String" />
                      <property name="Output List.[3]" value="Union1026" />
                      <property name="Output List.[3].Column" value="Union1026" />
                      <property name="Output List.[3].DataType" value="String" />
                      <property name="Output List.[4]" value="Union1027" />
                      <property name="Output List.[4].Column" value="Union1027" />
                      <property name="Output List.[4].DataType" value="Int32" />
                      <property name="Output List.[5]" value="Union1028" />
                      <property name="Output List.[5].Column" value="Union1028" />
                      <property name="Output List.[5].DataType" value="Int32" />
                      <property name="Statistics.Open Count" value="1" />
                      <property name="Statistics.Row Count" value="9" />
                      <property name="Statistics.Average Row Count" value="9" />
                      <property name="Defined Values.Union1023" value="Expr1004; Expr1012" />
                      <property name="Defined Values.Union1023.[0]" value="Expr1004" />
                      <property name="Defined Values.Union1023.[0].Column" value="Expr1004" />
                      <property name="Defined Values.Union1023.[0].DataType" value="Int32" />
                      <property name="Defined Values.Union1023.[1]" value="Expr1012" />
                      <property name="Defined Values.Union1023.[1].Column" value="Expr1012" />
                      <property name="Defined Values.Union1023.[1].DataType" value="Int32" />
                      <property name="Defined Values.Union1024" value="Employees.EmployeeID; Expr1018" />
                      <property name="Defined Values.Union1024.[0]" value="Employees.EmployeeID" />
                      <property name="Defined Values.Union1024.[0].Table" value="Employees" />
                      <property name="Defined Values.Union1024.[0].Column" value="EmployeeID" />
                      <property name="Defined Values.Union1024.[0].DataType" value="Int32" />
                      <property name="Defined Values.Union1024.[1]" value="Expr1018" />
                      <property name="Defined Values.Union1024.[1].Column" value="Expr1018" />
                      <property name="Defined Values.Union1024.[1].DataType" value="Int32" />
                      <property name="Defined Values.Union1025" value="Employees.LastName; Expr1019" />
                      <property name="Defined Values.Union1025.[0]" value="Employees.LastName" />
                      <property name="Defined Values.Union1025.[0].Table" value="Employees" />
                      <property name="Defined Values.Union1025.[0].Column" value="LastName" />
                      <property name="Defined Values.Union1025.[0].DataType" value="String" />
                      <property name="Defined Values.Union1025.[1]" value="Expr1019" />
                      <property name="Defined Values.Union1025.[1].Column" value="Expr1019" />
                      <property name="Defined Values.Union1025.[1].DataType" value="String" />
                      <property name="Defined Values.Union1026" value="Employees.FirstName; Expr1020" />
                      <property name="Defined Values.Union1026.[0]" value="Employees.FirstName" />
                      <property name="Defined Values.Union1026.[0].Table" value="Employees" />
                      <property name="Defined Values.Union1026.[0].Column" value="FirstName" />
                      <property name="Defined Values.Union1026.[0].DataType" value="String" />
                      <property name="Defined Values.Union1026.[1]" value="Expr1020" />
                      <property name="Defined Values.Union1026.[1].Column" value="Expr1020" />
                      <property name="Defined Values.Union1026.[1].DataType" value="String" />
                      <property name="Defined Values.Union1027" value="Employees.ReportsTo; Expr1021" />
                      <property name="Defined Values.Union1027.[0]" value="Employees.ReportsTo" />
                      <property name="Defined Values.Union1027.[0].Table" value="Employees" />
                      <property name="Defined Values.Union1027.[0].Column" value="ReportsTo" />
                      <property name="Defined Values.Union1027.[0].DataType" value="Int32" />
                      <property name="Defined Values.Union1027.[1]" value="Expr1021" />
                      <property name="Defined Values.Union1027.[1].Column" value="Expr1021" />
                      <property name="Defined Values.Union1027.[1].DataType" value="Int32" />
                      <property name="Defined Values.Union1028" value="Expr1005; Expr1022" />
                      <property name="Defined Values.Union1028.[0]" value="Expr1005" />
                      <property name="Defined Values.Union1028.[0].Column" value="Expr1005" />
                      <property name="Defined Values.Union1028.[0].DataType" value="Int32" />
                      <property name="Defined Values.Union1028.[1]" value="Expr1022" />
                      <property name="Defined Values.Union1028.[1].Column" value="Expr1022" />
                      <property name="Defined Values.Union1028.[1].DataType" value="Int32" />
                    </properties>
                    <input>
                      <element operator="ComputeScalar">
                        <properties>
                          <property name="Output List.[0]" value="Employees.EmployeeID" />
                          <property name="Output List.[0].Table" value="Employees" />
                          <property name="Output List.[0].Column" value="EmployeeID" />
                          <property name="Output List.[0].DataType" value="Int32" />
                          <property name="Output List.[1]" value="Employees.LastName" />
                          <property name="Output List.[1].Table" value="Employees" />
                          <property name="Output List.[1].Column" value="LastName" />
                          <property name="Output List.[1].DataType" value="String" />
                          <property name="Output List.[2]" value="Employees.FirstName" />
                          <property name="Output List.[2].Table" value="Employees" />
                          <property name="Output List.[2].Column" value="FirstName" />
                          <property name="Output List.[2].DataType" value="String" />
                          <property name="Output List.[3]" value="Employees.ReportsTo" />
                          <property name="Output List.[3].Table" value="Employees" />
                          <property name="Output List.[3].Column" value="ReportsTo" />
                          <property name="Output List.[3].DataType" value="Int32" />
                          <property name="Output List.[4]" value="Expr1004" />
                          <property name="Output List.[4].Column" value="Expr1004" />
                          <property name="Output List.[4].DataType" value="Int32" />
                          <property name="Output List.[5]" value="Expr1005" />
                          <property name="Output List.[5].Column" value="Expr1005" />
                          <property name="Output List.[5].DataType" value="Int32" />
                          <property name="Statistics.Open Count" value="1" />
                          <property name="Statistics.Row Count" value="1" />
                          <property name="Statistics.Average Row Count" value="1" />
                          <property name="Defined Values.[0]" value="Expr1004 = 0" />
                          <property name="Defined Values.[0].Target" value="Expr1004" />
                          <property name="Defined Values.[0].DataType" value="Int32" />
                          <property name="Defined Values.[0].Source" value="0" />
                          <property name="Defined Values.[1]" value="Expr1005 = 1" />
                          <property name="Defined Values.[1].Target" value="Expr1005" />
                          <property name="Defined Values.[1].DataType" value="Int32" />
                          <property name="Defined Values.[1].Source" value="1" />
                        </properties>
                        <input>
                          <element operator="Filter">
                            <properties>
                              <property name="Output List.[0]" value="Employees.EmployeeID" />
                              <property name="Output List.[0].Table" value="Employees" />
                              <property name="Output List.[0].Column" value="EmployeeID" />
                              <property name="Output List.[0].DataType" value="Int32" />
                              <property name="Output List.[1]" value="Employees.LastName" />
                              <property name="Output List.[1].Table" value="Employees" />
                              <property name="Output List.[1].Column" value="LastName" />
                              <property name="Output List.[1].DataType" value="String" />
                              <property name="Output List.[2]" value="Employees.FirstName" />
                              <property name="Output List.[2].Table" value="Employees" />
                              <property name="Output List.[2].Column" value="FirstName" />
                              <property name="Output List.[2].DataType" value="String" />
                              <property name="Output List.[3]" value="Employees.ReportsTo" />
                              <property name="Output List.[3].Table" value="Employees" />
                              <property name="Output List.[3].Column" value="ReportsTo" />
                              <property name="Output List.[3].DataType" value="Int32" />
                              <property name="Statistics.Open Count" value="1" />
                              <property name="Statistics.Row Count" value="1" />
                              <property name="Statistics.Average Row Count" value="1" />
                              <property name="Predicate" value="Employees.ReportsTo IS NULL" />
                            </properties>
                            <input>
                              <element operator="TableScan">
                                <properties>
                                  <property name="Table" value="Employees AS Employees" />
                                  <property name="Output List.[0]" value="Employees.EmployeeID" />
                                  <property name="Output List.[0].Table" value="Employees" />
                                  <property name="Output List.[0].Column" value="EmployeeID" />
                                  <property name="Output List.[0].DataType" value="Int32" />
                                  <property name="Output List.[1]" value="Employees.LastName" />
                                  <property name="Output List.[1].Table" value="Employees" />
                                  <property name="Output List.[1].Column" value="LastName" />
                                  <property name="Output List.[1].DataType" value="String" />
                                  <property name="Output List.[2]" value="Employees.FirstName" />
                                  <property name="Output List.[2].Table" value="Employees" />
                                  <property name="Output List.[2].Column" value="FirstName" />
                                  <property name="Output List.[2].DataType" value="String" />
                                  <property name="Output List.[3]" value="Employees.ReportsTo" />
                                  <property name="Output List.[3].Table" value="Employees" />
                                  <property name="Output List.[3].Column" value="ReportsTo" />
                                  <property name="Output List.[3].DataType" value="Int32" />
                                  <property name="Statistics.Open Count" value="1" />
                                  <property name="Statistics.Row Count" value="9" />
                                  <property name="Statistics.Average Row Count" value="9" />
                                </properties>
                                <input />
                              </element>
                            </input>
                          </element>
                        </input>
                      </element>
                      <element operator="Assert">
                        <properties>
                          <property name="Output List.[0]" value="Expr1012" />
                          <property name="Output List.[0].Column" value="Expr1012" />
                          <property name="Output List.[0].DataType" value="Int32" />
                          <property name="Output List.[1]" value="Expr1018" />
                          <property name="Output List.[1].Column" value="Expr1018" />
                          <property name="Output List.[1].DataType" value="Int32" />
                          <property name="Output List.[2]" value="Expr1019" />
                          <property name="Output List.[2].Column" value="Expr1019" />
                          <property name="Output List.[2].DataType" value="String" />
                          <property name="Output List.[3]" value="Expr1020" />
                          <property name="Output List.[3].Column" value="Expr1020" />
                          <property name="Output List.[3].DataType" value="String" />
                          <property name="Output List.[4]" value="Expr1021" />
                          <property name="Output List.[4].Column" value="Expr1021" />
                          <property name="Output List.[4].DataType" value="Int32" />
                          <property name="Output List.[5]" value="Expr1022" />
                          <property name="Output List.[5].Column" value="Expr1022" />
                          <property name="Output List.[5].DataType" value="Int32" />
                          <property name="Statistics.Open Count" value="1" />
                          <property name="Statistics.Row Count" value="8" />
                          <property name="Statistics.Average Row Count" value="8" />
                          <property name="Predicate" value="CASE WHEN Expr1012 &gt; 100 THEN 0 END" />
                        </properties>
                        <input>
                          <element operator="NestedLoops">
                            <properties>
                              <property name="Output List.[0]" value="Expr1012" />
                              <property name="Output List.[0].Column" value="Expr1012" />
                              <property name="Output List.[0].DataType" value="Int32" />
                              <property name="Output List.[1]" value="Expr1018" />
                              <property name="Output List.[1].Column" value="Expr1018" />
                              <property name="Output List.[1].DataType" value="Int32" />
                              <property name="Output List.[2]" value="Expr1019" />
                              <property name="Output List.[2].Column" value="Expr1019" />
                              <property name="Output List.[2].DataType" value="String" />
                              <property name="Output List.[3]" value="Expr1020" />
                              <property name="Output List.[3].Column" value="Expr1020" />
                              <property name="Output List.[3].DataType" value="String" />
                              <property name="Output List.[4]" value="Expr1021" />
                              <property name="Output List.[4].Column" value="Expr1021" />
                              <property name="Output List.[4].DataType" value="Int32" />
                              <property name="Output List.[5]" value="Expr1022" />
                              <property name="Output List.[5].Column" value="Expr1022" />
                              <property name="Output List.[5].DataType" value="Int32" />
                              <property name="Logical Operator" value="Inner Join" />
                              <property name="Statistics.Open Count" value="1" />
                              <property name="Statistics.Row Count" value="8" />
                              <property name="Statistics.Average Row Count" value="8" />
                              <property name="Outer References.[0]" value="Expr1007" />
                              <property name="Outer References.[0].Column" value="Expr1007" />
                              <property name="Outer References.[0].DataType" value="Int32" />
                              <property name="Outer References.[1]" value="Expr1011" />
                              <property name="Outer References.[1].Column" value="Expr1011" />
                              <property name="Outer References.[1].DataType" value="Int32" />
                            </properties>
                            <input>
                              <element operator="ComputeScalar">
                                <properties>
                                  <property name="Output List.[0]" value="Expr1007" />
                                  <property name="Output List.[0].Column" value="Expr1007" />
                                  <property name="Output List.[0].DataType" value="Int32" />
                                  <property name="Output List.[1]" value="Expr1011" />
                                  <property name="Output List.[1].Column" value="Expr1011" />
                                  <property name="Output List.[1].DataType" value="Int32" />
                                  <property name="Output List.[2]" value="Expr1012" />
                                  <property name="Output List.[2].Column" value="Expr1012" />
                                  <property name="Output List.[2].DataType" value="Int32" />
                                  <property name="Statistics.Open Count" value="1" />
                                  <property name="Statistics.Row Count" value="9" />
                                  <property name="Statistics.Average Row Count" value="9" />
                                  <property name="Defined Values.[0]" value="Expr1012 = Expr1006 + 1" />
                                  <property name="Defined Values.[0].Target" value="Expr1012" />
                                  <property name="Defined Values.[0].DataType" value="Int32" />
                                  <property name="Defined Values.[0].Source" value="Expr1006 + 1" />
                                </properties>
                                <input>
                                  <element operator="TableSpool">
                                    <properties>
                                      <property name="Output List.[0]" value="Expr1006" />
                                      <property name="Output List.[0].Column" value="Expr1006" />
                                      <property name="Output List.[0].DataType" value="Int32" />
                                      <property name="Output List.[1]" value="Expr1007" />
                                      <property name="Output List.[1].Column" value="Expr1007" />
                                      <property name="Output List.[1].DataType" value="Int32" />
                                      <property name="Output List.[2]" value="Expr1008" />
                                      <property name="Output List.[2].Column" value="Expr1008" />
                                      <property name="Output List.[2].DataType" value="String" />
                                      <property name="Output List.[3]" value="Expr1009" />
                                      <property name="Output List.[3].Column" value="Expr1009" />
                                      <property name="Output List.[3].DataType" value="String" />
                                      <property name="Output List.[4]" value="Expr1010" />
                                      <property name="Output List.[4].Column" value="Expr1010" />
                                      <property name="Output List.[4].DataType" value="Int32" />
                                      <property name="Output List.[5]" value="Expr1011" />
                                      <property name="Output List.[5].Column" value="Expr1011" />
                                      <property name="Output List.[5].DataType" value="Int32" />
                                      <property name="Statistics.Open Count" value="1" />
                                      <property name="Statistics.Row Count" value="9" />
                                      <property name="Statistics.Average Row Count" value="9" />
                                      <property name="Logical Operator" value="Lazy Spool" />
                                      <property name="With Stack" value="True" />
                                    </properties>
                                    <input />
                                  </element>
                                </input>
                              </element>
                              <element operator="ComputeScalar">
                                <properties>
                                  <property name="Output List.[0]" value="Expr1018" />
                                  <property name="Output List.[0].Column" value="Expr1018" />
                                  <property name="Output List.[0].DataType" value="Int32" />
                                  <property name="Output List.[1]" value="Expr1019" />
                                  <property name="Output List.[1].Column" value="Expr1019" />
                                  <property name="Output List.[1].DataType" value="String" />
                                  <property name="Output List.[2]" value="Expr1020" />
                                  <property name="Output List.[2].Column" value="Expr1020" />
                                  <property name="Output List.[2].DataType" value="String" />
                                  <property name="Output List.[3]" value="Expr1021" />
                                  <property name="Output List.[3].Column" value="Expr1021" />
                                  <property name="Output List.[3].DataType" value="Int32" />
                                  <property name="Output List.[4]" value="Expr1022" />
                                  <property name="Output List.[4].Column" value="Expr1022" />
                                  <property name="Output List.[4].DataType" value="Int32" />
                                  <property name="Statistics.Open Count" value="9" />
                                  <property name="Statistics.Row Count" value="8" />
                                  <property name="Statistics.Average Row Count" value="1" />
                                  <property name="Defined Values.[0]" value="Expr1018 = e.EmployeeID" />
                                  <property name="Defined Values.[0].Target" value="Expr1018" />
                                  <property name="Defined Values.[0].DataType" value="Int32" />
                                  <property name="Defined Values.[0].Source" value="e.EmployeeID" />
                                  <property name="Defined Values.[1]" value="Expr1019 = e.LastName" />
                                  <property name="Defined Values.[1].Target" value="Expr1019" />
                                  <property name="Defined Values.[1].DataType" value="String" />
                                  <property name="Defined Values.[1].Source" value="e.LastName" />
                                  <property name="Defined Values.[2]" value="Expr1020 = e.FirstName" />
                                  <property name="Defined Values.[2].Target" value="Expr1020" />
                                  <property name="Defined Values.[2].DataType" value="String" />
                                  <property name="Defined Values.[2].Source" value="e.FirstName" />
                                  <property name="Defined Values.[3]" value="Expr1021 = e.ReportsTo" />
                                  <property name="Defined Values.[3].Target" value="Expr1021" />
                                  <property name="Defined Values.[3].DataType" value="Int32" />
                                  <property name="Defined Values.[3].Source" value="e.ReportsTo" />
                                  <property name="Defined Values.[4]" value="Expr1022 = Expr1017" />
                                  <property name="Defined Values.[4].Target" value="Expr1022" />
                                  <property name="Defined Values.[4].DataType" value="Int32" />
                                  <property name="Defined Values.[4].Source" value="Expr1017" />
                                </properties>
                                <input>
                                  <element operator="ComputeScalar">
                                    <properties>
                                      <property name="Output List.[0]" value="e.EmployeeID" />
                                      <property name="Output List.[0].Table" value="e" />
                                      <property name="Output List.[0].Column" value="EmployeeID" />
                                      <property name="Output List.[0].DataType" value="Int32" />
                                      <property name="Output List.[1]" value="e.LastName" />
                                      <property name="Output List.[1].Table" value="e" />
                                      <property name="Output List.[1].Column" value="LastName" />
                                      <property name="Output List.[1].DataType" value="String" />
                                      <property name="Output List.[2]" value="e.FirstName" />
                                      <property name="Output List.[2].Table" value="e" />
                                      <property name="Output List.[2].Column" value="FirstName" />
                                      <property name="Output List.[2].DataType" value="String" />
                                      <property name="Output List.[3]" value="e.ReportsTo" />
                                      <property name="Output List.[3].Table" value="e" />
                                      <property name="Output List.[3].Column" value="ReportsTo" />
                                      <property name="Output List.[3].DataType" value="Int32" />
                                      <property name="Output List.[4]" value="Expr1017" />
                                      <property name="Output List.[4].Column" value="Expr1017" />
                                      <property name="Output List.[4].DataType" value="Int32" />
                                      <property name="Statistics.Open Count" value="9" />
                                      <property name="Statistics.Row Count" value="8" />
                                      <property name="Statistics.Average Row Count" value="1" />
                                      <property name="Defined Values.[0]" value="Expr1017 = Expr1011 + 1" />
                                      <property name="Defined Values.[0].Target" value="Expr1017" />
                                      <property name="Defined Values.[0].DataType" value="Int32" />
                                      <property name="Defined Values.[0].Source" value="Expr1011 + 1" />
                                    </properties>
                                    <input>
                                      <element operator="IndexSpool">
                                        <properties>
                                          <property name="Output List.[0]" value="e.EmployeeID" />
                                          <property name="Output List.[0].Table" value="e" />
                                          <property name="Output List.[0].Column" value="EmployeeID" />
                                          <property name="Output List.[0].DataType" value="Int32" />
                                          <property name="Output List.[1]" value="e.LastName" />
                                          <property name="Output List.[1].Table" value="e" />
                                          <property name="Output List.[1].Column" value="LastName" />
                                          <property name="Output List.[1].DataType" value="String" />
                                          <property name="Output List.[2]" value="e.FirstName" />
                                          <property name="Output List.[2].Table" value="e" />
                                          <property name="Output List.[2].Column" value="FirstName" />
                                          <property name="Output List.[2].DataType" value="String" />
                                          <property name="Output List.[3]" value="e.ReportsTo" />
                                          <property name="Output List.[3].Table" value="e" />
                                          <property name="Output List.[3].Column" value="ReportsTo" />
                                          <property name="Output List.[3].DataType" value="Int32" />
                                          <property name="Statistics.Open Count" value="9" />
                                          <property name="Statistics.Row Count" value="8" />
                                          <property name="Statistics.Average Row Count" value="1" />
                                          <property name="Logical Operator" value="Eager Spool" />
                                          <property name="With Stack" value="False" />
                                          <property name="Index" value="e.ReportsTo" />
                                          <property name="Index.Table" value="e" />
                                          <property name="Index.Column" value="ReportsTo" />
                                          <property name="Index.DataType" value="Int32" />
                                          <property name="Probe" value="Expr1007" />
                                        </properties>
                                        <input>
                                          <element operator="TableScan">
                                            <properties>
                                              <property name="Table" value="Employees AS e" />
                                              <property name="Output List.[0]" value="e.EmployeeID" />
                                              <property name="Output List.[0].Table" value="e" />
                                              <property name="Output List.[0].Column" value="EmployeeID" />
                                              <property name="Output List.[0].DataType" value="Int32" />
                                              <property name="Output List.[1]" value="e.LastName" />
                                              <property name="Output List.[1].Table" value="e" />
                                              <property name="Output List.[1].Column" value="LastName" />
                                              <property name="Output List.[1].DataType" value="String" />
                                              <property name="Output List.[2]" value="e.FirstName" />
                                              <property name="Output List.[2].Table" value="e" />
                                              <property name="Output List.[2].Column" value="FirstName" />
                                              <property name="Output List.[2].DataType" value="String" />
                                              <property name="Output List.[3]" value="e.ReportsTo" />
                                              <property name="Output List.[3].Table" value="e" />
                                              <property name="Output List.[3].Column" value="ReportsTo" />
                                              <property name="Output List.[3].DataType" value="Int32" />
                                              <property name="Statistics.Open Count" value="1" />
                                              <property name="Statistics.Row Count" value="9" />
                                              <property name="Statistics.Average Row Count" value="9" />
                                            </properties>
                                            <input />
                                          </element>
                                        </input>
                                      </element>
                                    </input>
                                  </element>
                                </input>
                              </element>
                            </input>
                          </element>
                        </input>
                      </element>
                    </input>
                  </element>
                </input>
              </element>
            </input>
          </element>
        </input>
      </element>
    </executionPlan>
  </expectedPlan>
</test>